/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ideastec.mipyme.model.direccion;

import com.ideastec.mipyme.model.localidad.Localidad;
import com.ideastec.mipyme.model.EntidadPersistible;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;

/**
 *
 * @author Diego Rafael Graf
 */

public class Direccion extends EntidadPersistible{
    
    private String direccion;
    
    private Localidad localidad;
    
    private String observacion;
    
    public Direccion(){
        
    }
    
    public Direccion(String direccion, Localidad localidad){
        this.direccion = direccion;
        this.localidad = localidad;
    }
    
    public Direccion(String direccion, Localidad localidad, String observacion){
        this.direccion = direccion;
        this.localidad = localidad;
        this.observacion = observacion;
    }
    
    @Override
    public String toString(){
        return this.direccion;
    }
    
    public String getDireccion(){
        return this.direccion;        
    }
    
    public void setDireccion(String direccion){
        this.direccion = direccion;
    }
    
    public String getObservacion(){
        return this.observacion;        
    }
    
    public void setObservacion(String observacion){
        this.observacion = observacion;
    }
    
    public Localidad getLocalidad(){
        return this.localidad;        
    }
    
    public void setLocalidad(Localidad localidad){
        this.localidad = localidad;
    }

    
    //TENGO QUE VER COMO HACER EQUALS BUILDER Y HASHCODE CON MAS DE UN OBJETO
    
    
    @Override
    public boolean equals(Object objeto){
        if(objeto == null || !objeto.getClass().isAssignableFrom(Direccion.class)){
            return false;
        }else{
            Direccion direccion2 = (Direccion) objeto;
            return new EqualsBuilder().append(direccion2.toString(), this.toString()).isEquals();
        }
    }
    
    @Override
    public int hashCode(){
        return new HashCodeBuilder().append(this.toString()).append(this.toString()).toHashCode();
    }
    
}
